<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class M_Valoracion extends Modelo {

    public $id = null;
    public $demandadoId;
    public $causaXestadoId;
    public $valoracion;
    public $observacion;

    function __construct() {
        parent::__construct();
        $this->tabla = 'valoraciones';
    }

    function setAttributes($datos = array(), $tipo = 'object') {
        return parent::_setAttributes(__CLASS__, $datos, $tipo);
    }

    function doArray() {
        return parent::_doArray(__CLASS__);
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function getValidacion($edit = false) {
        $valid = array(
            array('field' => 'demandadoId', 'label' => 'Demandado', 'rules' => 'trim|required'),
            array('field' => 'causaXestadoId', 'label' => 'Estado', 'rules' => 'trim|required'),
        );

        return $valid;
    }

    /**
     * Devuelve valores por defecto en un arreglo.
     */
    function valoresPorDefecto() {
        return array(
            'demandadoId' => '',
            'causaXestadoId' => '',
            'valoracion' => 0,
            'observacion' => '',
        );
    }

    /**
     * Devuelve las causas por estados
     */
    function getListPorEstadoId($estadoId) {
        $this->db->select(
                $this->tabla . '.id, ' .
                $this->tabla . '.valoracion, ' .
                $this->tabla . '.observacion, ' .
                $this->tabla . '.demandadoId,
                medicos.matricula, 
                medicos.nombre,
                estados.id estadoId,
                estados.nombre estado,
                ');
        $this->db->from($this->tabla);
        $this->db->join('demandados', 'demandados.id = ' . $this->tabla . '.demandadoId');
        $this->db->join('causas', 'causas.id = demandados.causaId');
        $this->db->join('causas_x_estados', 'causas_x_estados.id = ' . $this->tabla . '.causaXestadoId');
        $this->db->join('estados', 'estados.id = causas_x_estados.estadoId');
        $this->db->join('medicos', 'medicos.matricula = demandados.matricula');
        $this->db->where('causas_x_estados.id', $estadoId);

        $results = $this->db->get();

        return $results->result_object();
    }

}